"""Configuration module for order delivery system."""

class ItemIDs:
    """Item IDs used in the system."""
    GOLD_COIN = 0x0EED      # Gold Coin
    ORDER = 0x2258          # Bulk Order Deed
    ORDER_BOOK = 0x2259     # Bulk Order Book
    RUNESTONE = 0x1F14      # Runestone
    RUNESTONE_BOOK = 0x22C5 # Runestone Book
    TINKER_TOOLS = 0x1EB8   # Tinker Tools
    TONGS = 0x0FBB          # Tongs
    IRON_INGOT = 0x1BF2     # Iron Ingot
    TRASH_BARREL = 0x0E77   # Trash Barrel
    TRASH_CHEST = 0x0E41    # Trash Chest (Wooden Barrel or Chest)
    GOLD_INGOT = 0x1BF2     # Gold Ingot

class GumpIDs:
    """Gump IDs used in the system."""
    ORDER = 0x5AFBD742      # Order Gump
    ORDER_BOOK = 0x54F555DF # Order Book Gump
    RUNE_BOOK = 0x554b87f3 # Runebook Gump
    TINKER_TOOLS = 0x38920ABD # Tinker Tools Gump
    SMALL_ORDER = 0x9BADE6EA # Small Order Request Gump
    LARGE_ORDER = 0xBE0DAD1E # Large Order Request Gump

class OrderBooks:
    """Order book names and their purposes."""
    DONE = "BS_DONE"    # Completed orders book
    NEW = "BS_NEW"      # New/pending orders book

class NPCs:
    """NPC names used in the system."""
    # A list of blacksmith NPC names to try at different locations.
    BLACKSMITHS = [
        "Kale",       # Corresponds to location 1
        "Rohanna",    # Corresponds to location 2
        "Adimima",    # Corresponds to location 3
        "Ashby"       # Corresponds to location 4
    ]

class RuneBooks:
    """Runebook names used in the system."""
    HOUSE = "BS_Runebook"  # Main runebook for house teleport
    ROOM = "BS_ROOM"      # Runebook for room teleport

class Bounds:
    """Boundaries for the blacksmith shop."""
    BLACKSMITH_SHOP = {
        'min_x': 972,
        'max_x': 980,
        'min_y': 508,
        'max_y': 517,
        'min_z': -50,
        'max_z': -50
    }
    HOME = {
        'min_x': 2155,
        'max_x': 2163,
        'min_y': 2179,
        'max_y': 2186,
        'min_z': 0,
        'max_z': 0
    }

# Valuable order combinations that can be exchanged for rewards
# Each tuple contains: (item_name, amount, quality, material)
VALUABLE_ORDER_COMBINATIONS = [
    ("Platemail Legs", 20, "Exceptional", "Valorite Ingots"),
    ("Platemail Tunic", 20, "Exceptional", "Valorite Ingots"),
    ("Platemail Gloves", 20, "Exceptional", "Valorite Ingots"),
    ("Platemail Arms", 20, "Exceptional", "Valorite Ingots"),
    ("Platemail Gorget", 20, "Exceptional", "Valorite Ingots"),
    ("Platemail Helm", 20, "Exceptional", "Valorite Ingots"),
    ("Platemail Legs", 20, "Exceptional", "Verite Ingots"),
    ("Platemail Tunic", 20, "Exceptional", "Verite Ingots"),
    ("Platemail Gloves", 20, "Exceptional", "Verite Ingots"),
    ("Platemail Arms", 20, "Exceptional", "Verite Ingots"),
    ("Platemail Gorget", 20, "Exceptional", "Verite Ingots"),
    ("Platemail Helm", 20, "Exceptional", "Verite Ingots"),
    ("Platemail Legs", 10, "Exceptional", "Valorite Ingots"),
    ("Platemail Tunic", 10, "Exceptional", "Valorite Ingots"),
    ("Platemail Gloves", 10, "Exceptional", "Valorite Ingots"),
    ("Platemail Arms", 10, "Exceptional", "Valorite Ingots"),
    ("Platemail Gorget", 10, "Exceptional", "Valorite Ingots"),
    ("Platemail Helm", 10, "Exceptional", "Valorite Ingots"),
    ("Platemail Legs", 15, "Exceptional", "Valorite Ingots"),
    ("Platemail Tunic", 15, "Exceptional", "Valorite Ingots"),
    ("Platemail Gloves", 15, "Exceptional", "Valorite Ingots"),
    ("Platemail Arms", 15, "Exceptional", "Valorite Ingots"),
    ("Platemail Gorget", 15, "Exceptional", "Valorite Ingots"),
    ("Platemail Helm", 15, "Exceptional", "Valorite Ingots"),
    ("Platemail Leggings", 10, "Exceptional", "Agapite Ingots"),
    ("Platemail Tunic", 10, "Exceptional", "Agapite Ingots"),
    ("Platemail Gloves", 10, "Exceptional", "Agapite Ingots"),
    ("Platemail Arms", 10, "Exceptional", "Agapite Ingots"),
    ("Platemail Gorget", 10, "Exceptional", "Agapite Ingots"),
    ("Platemail Helm", 10, "Exceptional", "Agapite Ingots"),
    ("Chainmail Leggings", 10, "Exceptional", "Valorite Ingots"),
    ("Chainmail Tunic", 10, "Exceptional", "Valorite Ingots"),
    ("Chainmail Coif", 10, "Exceptional", "Valorite Ingots"),
    ("Platemail Legs", 15, "Exceptional", "Agapite Ingots"),
    ("Platemail Tunic", 15, "Exceptional", "Agapite Ingots"),
    ("Platemail Gloves", 15, "Exceptional", "Agapite Ingots"),
    ("Platemail Arms", 15, "Exceptional", "Agapite Ingots"),
    ("Platemail Gorget", 15, "Exceptional", "Agapite Ingots"),
    ("Platemail Helm", 15, "Exceptional", "Agapite Ingots"),
    ("Chainmail Leggings", 15, "Exceptional", "Valorite Ingots"),
    ("Chainmail Tunic", 15, "Exceptional", "Valorite Ingots"),
    ("Chainmail Coif", 15, "Exceptional", "Valorite Ingots"),
    ("Platemail Legs", 20, "Exceptional", "Gold Ingots"),
    ("Platemail Tunic", 20, "Exceptional", "Gold Ingots"),
    ("Platemail Gloves", 20, "Exceptional", "Gold Ingots"),
    ("Platemail Arms", 20, "Exceptional", "Gold Ingots"),
    ("Platemail Gorget", 20, "Exceptional", "Gold Ingots"),
    ("Platemail Helm", 20, "Exceptional", "Gold Ingots"),
    ("Chainmail Leggings", 20, "Exceptional", "Verite Ingots"),
    ("Chainmail Tunic", 20, "Exceptional", "Verite Ingots"),
    ("Chainmail Coif", 20, "Exceptional", "Verite Ingots"),
    ("Platemail Legs", 10, "Normal", "Valorite Ingots"),
    ("Platemail Tunic", 10, "Normal", "Valorite Ingots"),
    ("Platemail Gloves", 10, "Normal", "Valorite Ingots"),
    ("Platemail Arms", 10, "Normal", "Valorite Ingots"),
    ("Platemail Gorget", 10, "Normal", "Valorite Ingots"),
    ("Platemail Helm", 10, "Normal", "Valorite Ingots"),
    ("Ringmail Leggings", 10, "Exceptional", "Valorite Ingots"),
    ("Ringmail Tunic", 10, "Exceptional", "Valorite Ingots"),
    ("Ringmail Gloves", 10, "Exceptional", "Valorite Ingots"),
    ("Ringmail Sleeves", 10, "Exceptional", "Valorite Ingots"),
    ("Chainmail Leggings", 10, "Exceptional", "Agapite Ingots"),
    ("Chainmail Tunic", 10, "Exceptional", "Agapite Ingots"),
    ("Chainmail Coif", 10, "Exceptional", "Agapite Ingots"),
    ("Platemail Legs", 10, "Exceptional", "Bronze Ingots"),
    ("Platemail Tunic", 10, "Exceptional", "Bronze Ingots"),
    ("Platemail Gloves", 10, "Exceptional", "Bronze Ingots"),
    ("Platemail Arms", 10, "Exceptional", "Bronze Ingots"),
    ("Platemail Gorget", 10, "Exceptional", "Bronze Ingots"),
    ("Platemail Helm", 10, "Exceptional", "Bronze Ingots"),
    ("Platemail Legs", 15, "Normal", "Valorite Ingots"),
    ("Platemail Tunic", 15, "Normal", "Valorite Ingots"),
    ("Platemail Gloves", 15, "Normal", "Valorite Ingots"),
    ("Platemail Arms", 15, "Normal", "Valorite Ingots"),
    ("Platemail Gorget", 15, "Normal", "Valorite Ingots"),
    ("Platemail Helm", 15, "Normal", "Valorite Ingots"),
    ("Ringmail Leggings", 15, "Exceptional", "Valorite Ingots"),
    ("Ringmail Tunic", 15, "Exceptional", "Valorite Ingots"),
    ("Ringmail Gloves", 15, "Exceptional", "Valorite Ingots"),
    ("Ringmail Arms", 15, "Exceptional", "Valorite Ingots"),
    ("Chainmail Leggings", 15, "Exceptional", "Agapite Ingots"),
    ("Chainmail Tunic", 15, "Exceptional", "Agapite Ingots"),
    ("Chainmail Coif", 15, "Exceptional", "Agapite Ingots"),
    ("Platemail Legs", 15, "Exceptional", "Bronze Ingots"),
    ("Platemail Tunic", 15, "Exceptional", "Bronze Ingots"),
    ("Platemail Gloves", 15, "Exceptional", "Bronze Ingots"),
    ("Platemail Arms", 15, "Exceptional", "Bronze Ingots"),
    ("Platemail Gorget", 15, "Exceptional", "Bronze Ingots"),
    ("Platemail Helm", 15, "Exceptional", "Bronze Ingots"),
    ("Platemail Legs", 20, "Normal", "Verite Ingots"),
    ("Platemail Tunic", 20, "Normal", "Verite Ingots"),
    ("Platemail Gloves", 20, "Normal", "Verite Ingots"),
    ("Platemail Arms", 20, "Normal", "Verite Ingots"),
    ("Platemail Gorget", 20, "Normal", "Verite Ingots"),
    ("Platemail Helm", 20, "Normal", "Verite Ingots"),
    ("Ringmail Leggings", 20, "Exceptional", "Verite Ingots"),
    ("Ringmail Tunic", 20, "Exceptional", "Verite Ingots"),
    ("Ringmail Gloves", 20, "Exceptional", "Verite Ingots"),
    ("Ringmail Sleeves", 20, "Exceptional", "Verite Ingots"),
    ("Chainmail Leggings", 20, "Exceptional", "Gold Ingots"),
    ("Chainmail Tunic", 20, "Exceptional", "Gold Ingots"),
    ("Chainmail Coif", 20, "Exceptional", "Gold Ingots"),
    ("Platemail Legs", 20, "Exceptional", "Copper Ingots"),
    ("Platemail Tunic", 20, "Exceptional", "Copper Ingots"),
    ("Platemail Gloves", 20, "Exceptional", "Copper Ingots"),
    ("Platemail Arms", 20, "Exceptional", "Copper Ingots"),
    ("Platemail Gorget", 20, "Exceptional", "Copper Ingots"),
    ("Platemail Helm", 20, "Exceptional", "Copper Ingots")
]

